TbsPolyglotManager Class |
type TbsPolyglotManager = class(TComponent) public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure TranslateForm(AForm: TCustomForm); function GetString(ASection: string; AStringName: string; ADefault: string = ''): string; property LangCount: Integer read; property Langs[Index: Integer]: string read; published property LangsDir: string read write; property CurrentLang: string read write; property CurrentLangChanging: TCurrentLangChangingEvent read write; property LangsDirChanging: TLangsDirChangingEvent read write; property TranslateResourceStrings: Boolean read write; property BeforeAllTranslate: TNotifyEvent read write; property AfterAllTranslate: TNotifyEvent read write; end;
Normally you need only one instance of TbsPolyglotManager on your main form or main data module. TbsPolyglotManager is stateless class and it is just like configuration utility for TbsCorePolyglot . Normally you need access to only three items:
LangsDir - get/set a folder which contains LNG files;
Current Lang - set/set currently loaded LNG file;
GetString - read a string from currently loaded LNG file. This function is useful for translating different messages.
CurrentLangChanging - fires before change current language and provides an ability to cancel change;
LangsDirChanging - fires before change folder with LNG files and provides an ability to cancel change;
BeforeAllTranslate - fires after changes to current language or folder with LNG files, but before refreshing translators;
AfterAllTranslate - fires after full retranslate all translators;
GetString, TranslateForm, CurrentLang, LangsDir, CurrentLangChanging, LangsDirChanging, BeforeAllTranslate, AfterAllTranslate, TranslateResourceStrings, LangCount, Langs